#ifndef _SSS_SOC_H_
#define _SSS_SOC_H_

#include "../../Main/include/SSS_main.cuh"
#include "../../Main/include/SSS_matvec.h"
#include "../../Main/include/SSS_utils.cuh"


 #if defined (__cplusplus)
extern "C"
{
#endif    
  


int SoC_GPU(SSS_MAT *A, SSS_IMAT *S, SSS_AMG_PARS *pars);


static void strong_couplings_compress(SSS_MAT *A, SSS_IMAT *S, SSS_AMG_PARS *pars);


//Generate the set of all strong negative couplings    //生成所有强负耦合的集合
static void strong_couplings(SSS_MAT *A, SSS_IMAT *S, SSS_AMG_PARS *pars);

//Remove weak couplings from S (marked as -1)
static int compress_S(SSS_IMAT * S);



#if defined (__cplusplus)
}
#endif


#endif